home *** CD-ROM | disk | FTP | other *** search
- program statdemo;
- {$R statdemo.res}
-
- uses
- status, WinProcs, WinTypes, WObjects, Strings;
-
- const
- CM_EDIT_UNDO = 201;
- CM_EDIT_REDO = 202;
- CM_EDIT_CUT = 203;
- CM_EDIT_COPY = 204;
- CM_EDIT_PASTE = 205;
- CM_EDIT_DELETE = 206;
- ID_MENU = 100;
- CM_FILE_OPEN = 101;
- CM_FILE_SAVE = 102;
- CM_FILE_SAVEAS = 103;
- CM_FILE_CLOSE = 104;
- CM_FILE_EXIT = 105;
-
- type
-
-
- { Main window object }
-
- PMenuWindow = ^TMenuWindow;
- TMenuWindow = object(TWindow)
- pTStatusBar :PStatusBar;
- procedure WMSize(var Msg: TMessage);
- virtual wm_First + wm_Size;
- procedure WMMenuSelect(var Msg : TMessage);
- virtual wm_First + WM_Menuselect;
- procedure CMFileExit(var Msg : TMessage);
- virtual cm_First + CM_File_exit;
- constructor Init;
- end;
-
- { Application object }
-
- TMenuApp = object(TApplication)
- procedure InitMainWindow; virtual;
- end;
-
-
- { Constructor for main window object. }
-
- constructor TMenuWindow.Init;
- begin
- TWindow.Init(nil, 'Status Bar Demo');
- attr.menu := LoadMenu(HInstance, pchar(id_menu));
- attr.x := GetSystemMetrics(SM_CXSCREEN) DIV 8;
- attr.Y := GETSystemMetrics(SM_CYSCREEN) DIV 8;
- attr.H := attr.y * 6;
- attr.W := attr.x * 6;
- ptStatusBar := new(Pstatusbar, init(@self));
- if ptstatusBar = NIl then
- Status := EM_INVALIDCHILD;
- end;
-
- procedure TMenuWindow.CMFileExit(var Msg : TMessage);
- begin
- CloseWindow;
- end;
-
- procedure TMenuWindow.WMMenuSelect(var Msg : TMessage);
- begin
- SendMessage(pTStatusBar^.Hwindow, WM_MENUSELECT, msg.WParam, msg.LParam);
- end;
-
- procedure TmenuWindow.WMSize(var Msg: TMessage);
- begin
- TWindow.WMSize(msg);
- pTStatusBar^.AdjustSize(msg.LParamLo,msg.LParamHi);
- end;
-
-
-
- { Create the application's main window. }
-
- procedure TMenuApp.InitMainWindow;
- begin
- MainWindow := New(PMenuWindow, Init);
- end;
-
- var
- MenuApp: TMenuApp;
-
- begin
- MenuApp.Init('StatusApp');
- MenuApp.Run;
- MenuApp.Done;
- end.
-
-